The Internet and the World Wide Web (“Web”) have changed the landscape of information delivery and affected numerous aspects of life. One benefit of this technological development is the ability to conduct business transactions globally via the Internet. As the volume of commerce conducted over the network continues to increase, collections of business units or organizations are working together to pool resources and expertise in order to achieve common business objectives. Organizations are sharing services and resources across enterprise boundaries in order to undertake collaborative projects and offer services that could not be provided by individual organizations.
One particular way the Internet can benefit commerce is by facilitating Virtual Organizations (VOs). VOs are a concept for forming business collaborations. A consortium of more permanent business organizations may wish to temporarily join together to produce a product or provide a service together that they could not do as fast or as well separately. A traditional way to form a collaboration is for the participants to create a jointly owned legal entity. However, this may be unattractive since such entities can require substantial amount of resources, including resources to establish and maintain accounting for the joint entity and management staff to run the joint entity. VOs offer an attractive alternative since they are not legal entities, organized instead with contracts describing the business objectives of the collaboration and describing the roles and duties of the participants.
The participants in a VO usually want to integrate their processes to some degree to achieve the goals of the collaboration. Since today businesses have computerized many of their business processes, this means collaborating businesses must integrate computerized processes. Integration of the computerized business processes within a company is by itself a difficult and time-consuming project requiring highly skilled labor. Integration of processes between collaborating companies can be even more difficult, so much so that many collaborations may not be attempted due to the cost and time involved.
A growing array of technologies has emerged to help bridge the gaps between people, time and geography in such collaborative environments. One such group of technologies is known collectively as “Web Services.” Web Services can facilitate VOs by automating the process of integration, reducing the cost of integration as well as the time required.
Web Services are a set of protocols and standards for conducting commerce over the World Wide Web. The goal for Web Services is to provide a means for software systems to automatically find each other and interact over the World Wide Web. Web Services are based on the Extensible Markup Language (XML). The XML schema is a set of rules for storing data hierarchically in data objects called documents. The XML standards describe how a computer system running an XML execution engine running should act when processing an XML document. Programmers can introduce data structures previously undefined by XML using compounds of existing data structures. These compound data structures can still be processed by a standard XML execution engine. Alternatively, programmers can introduce new language extensions based on XML, incorporating XML data structures as well as newly defined structures. These language extensions cannot be processed by standard XML execution engines, but require execution engines adapted to the language extension. Additionally, language extensions may be the basis for yet more new languages.
One part of the Web Services technology suite includes Web Services Choreography Description Language (WS-CDL), an XML-based language that facilitates the creation of documents describing business choreographies. WS-CDL facilitates collaboration between participants regardless of the supporting platform, programming model and security domain of the hosting environment.
Web Services Business Process Execution Language (BPEL) is frequently used in conjunction with WS-CDL. BPEL is an XML based language designed to provide a formal specification of business processes and business interaction protocols for automatic execution. BPEL operates at a lower level of abstraction than WS-CDL. A WS-CDL choreography, while not legally binding, is similar to a business contract in that it describes all the objectives to which the participants are committed. In contrast, a BPEL process is more like an operations manual for a particular department of a business (a role in WS-CDL terminology), describing the steps required to carry out objectives assigned to a single role in one participant's organization.
A BPEL process uses one or more service to carrying out the process's objectives. A “service” in the Web Services universe is a channel between two computers for the generation, manipulation and exchange of messages. Each service is defined indirectly, through the description of the service interface. Service interface descriptions may be written in Web Services Description Language (WSDL), another XML-based language. A service interface description describes the data types to be passed in messages, describes how to map data into messages, describes the operations that may be performed on the messages and describes the ports that messages may be sent through. The BPEL process specifies the sequence of invoking the operations described in a corresponding WSDL document. This sequence is not completely pre-determined, since a BPEL process has its own exception handling and can react to events from outside of its execution environment.
Once a set of processes have been integrated for a VO, the services provided by these processes need to be monitored to ensure that the goals of the VO are achieved. Existing web service monitoring systems can provide for monitoring the performance of single service invocations. The obligations that are monitored by such systems are typically in terms of the technical performance of an individual service. For example, an obligation by one of the participants to perform a data retrieval service within 3 milliseconds. Such monitoring requires a fairly detailed view of the collaboration. What is missing is a way to monitor the performance of the overall collaboration, with commitments made in terms of business performance, such as the cost incurred by all participants over the entire collaboration or the time required to perform activities that require services from more than one participant in the collaboration.